// 条件运算符  ? :
// C语言中 唯一一个三目运算符
// - 负号  单目运算符  1 个操作数 -1
// + 加号  双目运算符  2 个操作数 1+1
/*
格式:
    条件 ? 语句1 : 语句2

    当条件为真时 则执行 语句1
    当条件为假时 则执行 语句2
*/

#include <stdio.h>

// 做成正常函数
int func_MAX(int val1 , int val2)
{
    return (val1 > val2) ? val1 : val2;
}


// 做成宏函数
#define MAX(VAL1 , VAL2) (VAL1 > VAL2) ? VAL1 : VAL2

int main(int argc, char const *argv[])
{
    int val1, val2;
    printf("请输入 val1 val2:");
    scanf("%d %d", &val1, &val2);

    // 打印值
    printf("%d 大 \n" , (val1 > val2) ? val1 : val2 );
    // 执行
    (val1 > val2) ? printf("val1 大 \n") : printf("val2 大 \n");

    // 使用正常函数
    printf("%d 大 \n" , func_MAX(val1 , val2) );

    // 使用宏函数
    printf("%d 大 \n" ,  MAX(val1 , val2) );

    return 0;
}
